$(document).ready(function() {

	sempab = window.sempab || {};
	sempab.recepcao = {

		init : function() {
			optionsHTML = "";
			novaLinhaHTML = "<tr>" + "<td><input id='identidade' class='campo' name='identidade' type='text'></td>" + "<td><input id='nome' class='campo' name='nome' type='text'></td>" + "<td><input id='assunto' class='campo' name='assunto' type='text'></td>" + "<td><div class='options-container'><select id='setor'class='campo' name='setor'></select></div></td>" + "</tr>";

			//botaoEditarHTML = '</td>';
			linhaErrosHTML = '<tr><td id="celula-erros-validator" colspan="4" class="celula-erros"></td></tr>';
			sempab.recepcao.getSetores();
			//sempab.recepcao.renderRecepcao();
			$('#identidade').focusout(function(){
				//if($('#identidade').val().length >= 3){
					//setTimeout(function(){
						params = {
						url : "services/?service=checarIdentidade",
						global : false,
						type : "POST",
						data : {
							identidade : $("#identidade").val()
						},
						dataType : "json",
						async : true,
						success : function(resposta) {
							//console.log(resposta[0]);
							//console.log(resposta[0].set_sigla);
							if (resposta["estado"] == "OK") {
								//$(this).siblings('input.nome').attr("disabled","disabled");
								$('#nome').val(resposta["nome"]);
							}
						},
						error : function(resposta) {
							sempab.alert.showMessage("Ocorreu um erro interno, comunique o administrador do sistema.", {
								callback : function() {
									window.refresh;
								}
							});
						}
					},
					//Envia a requisição
					//form.submit();
					//console.log(params.data);
					$.ajax(params);
						//},2000
					//);
				//};
			});
			
			$('#botao-registrar').click(function() {
				$('#formulario-dados-atendimento').validate();

			});
			$("#container-registro-anterior").on("click", ".botao-editar", function() {
				$(this).parent().find('input:not([name="editarhora"], [name="editardata"]), select').removeAttr("disabled");
				$(this).hide();
				$(this).siblings().show();
			});

			$("#container-registro-anterior").on("click", ".botao-salvar", function() {
				//console.log($(this).parent());
				//console.log($(this).siblings());

				if ($(this).parent().valid() == true) {
					params = {
						url : "services/?service=updateRecepcao",
						global : false,
						type : "POST",
						data : {
							registro : $(this).parent().attr("id"),
							identidade : $(this).siblings(".identidade").val(),
							nome : $(this).siblings(".nome").val(),
							assunto : $(this).siblings(".assunto").val(),
							setor : $(this).siblings("#setor").val()
						},
						dataType : "json",
						async : true,
						success : function(resposta) {
							//console.log(resposta[0]);
							//console.log(resposta[0].set_sigla);
							if (resposta["estado"] == "ERRO") {
								sempab.alert.showMessage("Não foi possivel alterar o registro de atendimento.");
								window.refresh;
							} else {
								//$(this).siblings('input.nome').attr("disabled","disabled");
								$('#'+resposta["id"]+'').children().attr("disabled","disabled");

							}
						},
						error : function(resposta) {
							sempab.alert.showMessage("Ocorreu um erro interno, comunique o administrador do sistema.", {
								callback : function() {
									window.refresh;
								}
							});
						}
					},
					//Envia a requisição
					//form.submit();
					console.log(params.data);
					$.ajax(params);
					$(this).hide();
					$(this).siblings("img").show();
				}
				//$(this).parent().validate();
				//$(this).parent().parent();

			});

			$('#formulario-dados-atendimento').validate({
				errorLabelContainer : "#container-erros",
				//errorContainer: "#erros",
				wrapper : "li",
				rules : {
					identidade : {
						required : true,
						digits : true
					},
					nome : "required",
					assunto : "required"
				},
				messages : {
					identidade : {
						required : "O campo de identidade não pode ficar vazio",
						digits : "Insira somente os números do documento de identidade"
					},
					nome : "O campo nome não pode ficar vazio.",
					assunto : "O campo assunto não pode ficar vazio"
				},
				//onsubmit: false
				submitHandler : function(form) {
					//console.log("teste 2");
					params = {
						url : "services/?service=setRecepcao",
						global : false,
						type : "POST",
						data : {
							//dados: $('#formulario-dados-atendimento').serialize()
							identidade : $("#identidade").val(),
							nome : $("#nome").val(),
							assunto : $("#assunto").val(),
							setor : $("#setor").val()
						},
						dataType : "json",
						async : true,
						success : function(resposta) {
							//console.log(resposta[0]);
							//console.log(resposta[0].set_sigla);
							if (resposta["estado"] == "ERRO") {
								sempab.alert.showMessage("Não foi possível carregar a lista de setores.");
								window.refresh;
							} else {
								//console.log(resposta);
								atendimentoRegistradoHTML = '<form id="' + resposta["id"] + '" class="formulario-editar" name="formulario-editar">' +
								'<img class="botao-editar" src="images/icone_editar.jpg"><img class="botao-salvar" src="images/icone_salvar.jpg">' +
								'<input class="campo-registrado hora" name="editarhora" type="text" value="' + resposta["hora"] + '" disabled="disabled">' +
								//'<input class="campo-registrado data" name="editardata" type="text" value="' + resposta["data"] + '" disabled="disabled">' +
								'<input class="campo-registrado identidade" name="editaridentidade" value="' + resposta["identidade"] + '" disabled="disabled">' +
								'<input class="campo-registrado nome" name="editarnome" value="' + resposta["nome"] + '" disabled="disabled">' +
								'<input class="campo-registrado assunto" name="editarassunto" value="' + resposta["assunto"] + '" disabled="disabled"></form>' +
								'<ol class="container-erros-editar"></ol>';
								$('#container-registro-anterior').prepend(atendimentoRegistradoHTML);
								$('#setor').clone().appendTo($('#' + resposta["id"] + ''));
								$("#container-registro-anterior select").attr("class", "campo-registrado");
								$('#' + resposta["id"] + ' [value="' + resposta["setor"] + '"]').attr("selected", "selected");
								$('#' + resposta["id"] + ' [name="setor"]').attr("disabled", "disabled");
								$('#' + resposta["id"] + ' [name="setor"]').attr("name", "editarsetor");
								$("#corpo-tabela-atendimento input").val("");

								$('.formulario-editar').validate({
									//debug : true,
									//errorLabelContainer : ".container-erros-editar",
									errorLabelContainer : $('#' + resposta["id"]+'').next("ol"),
									//errorContainer: ".container-erros-editar",
									wrapper : "li",
									rules : {
										editaridentidade : {
											required : true,
											digits : true
										},
										editarnome : "required",
										editarassunto : "required"
									},
									errorPlacement : function(error, element) {
										
										//error.appendTo($('.container-erros-editar'));
										error.appendTo($('#' + resposta["id"]+'').next("ol"));
									},
									messages : {
										editaridentidade : {
											required : "O campo de identidade não pode ficar vazio",
											digits : "Insira somente os números do documento de identidade"
										},
										editarnome : "O campo nome não pode ficar vazio.",
										editarassunto : "O campo assunto não pode ficar vazio"
									}
								});

							}
						},
						error : function(resposta) {
							sempab.alert.showMessage("Ocorreu um erro interno, comunique o administrador do sistema.", {
								callback : function() {
									window.refresh;
								}
							});
						}
					};
					//Envia a requisição
					//console.log(params.data);
					$.ajax(params);

				}
			});
			$('#opcao-recepcao').click(function(){
				//window.location='./?page=recepcao';window.refresh;
				console.log("teste");
				window.location='./?page=recepcao';
			});

			$('#opcao-historico').click(function(){
				$(this).hide();
				$(this).siblings().show();
					//console.log("teste 2");
					params = {
						url : "services/?service=historicoRecepcao",
						global : false,
						type : "POST",
						//data : {
							//dados: $('#formulario-dados-atendimento').serialize()
						//	identidade : $("#identidade").val(),
						//	nome : $("#nome").val(),
						//	assunto : $("#assunto").val(),
						//	setor : $("#setor").val()
						//},
						dataType : "json",
						async : true,
						success : function(resposta) {
							//console.log(resposta[0]);
							//console.log(resposta[0].set_sigla);
							if (resposta["estado"] == "ERRO") {
								sempab.alert.showMessage("Não foi possível carregar o histórico de atendimentos.");
								window.refresh;
							} else {
								historicoHTML = '<table id ="tabela-historico"><thead><tr>'+
								'<th class="coluna">Data</th><th class="coluna">Hora</th><th class="coluna">Identidade</th><th class="coluna">Nome</th><th class="coluna">Assunto</th><th class="coluna">Setor</th></tr></thead><tbody>';
								for(i = 0; i < resposta.length; i++){
									historicoHTML += '<tr id="'+resposta[i]["rec_id"]+'" >'+
									'<td class="celula" name="data">'+resposta[i]["rec_data"]+'</td>'+
									'<td class="celula" name="hora">'+resposta[i]["rec_hora"]+'</td>'+
									'<td class="celula" name="identidade">'+resposta[i]["rec_identidade"]+'</td>'+
									'<td class="celula nome" name="nome">'+resposta[i]["rec_nome"]+'</td>'+
									'<td class="celula assunto" name="assunto">'+resposta[i]["rec_assunto"]+'</td>'+
									'<td class="celula" name="setor">'+resposta[i]["set_sigla"]+'</td>'+
									'</tr>';
								}
								historicoHTML += '</tbody></table>';
								$('#page-content').html(historicoHTML);
								$('tr:odd').css("background-color","#E0E0E0");
								console.log("botao historico");
								
								
							}
						},
						error : function(resposta) {
							sempab.alert.showMessage("Ocorreu um erro interno, comunique o administrador do sistema.", {
								callback : function() {
									window.refresh;
								}
							});
						}
					};
					//Envia a requisição
					//console.log(params.data);
					$.ajax(params);

			});
		},
		getSetores : function() {
			params = {
				url : "services/?service=getSetores",
				global : false,
				type : "POST",
				//data: {
				//  username: $('#username').val(),
				//	password: sha1($('#password').val()),
				//	firstname: $('#firstname').val(),
				//	lastname: $('#lastname').val(),
				//	email: $('#email').val(),
				//	accesslevel: $(':checked').val()
				//},
				dataType : "json",
				async : true,
				success : function(resposta) {
					//console.log(resposta[0]);
					//console.log(resposta[0].set_sigla);
					if (resposta["estado"] == "ERRO") {
						sempab.alert.showMessage("Não foi possível carregar a lista de setores.");
						window.refresh;

					} else {

						for ( i = 0; i < resposta.length; i++) {
							optionsHTML += "<option value=" + resposta[i].set_id + ">" + resposta[i].set_sigla + "</option>";
						};
						$('#setor').html(optionsHTML);
					}
				},
				error : function(data) {
					sempab.alert.showMessage("Ocorreu um erro interno, comunique o administrador do sistema.", {
						callback : function() {
							window.refresh;
						}
					});
				}
			};
			//Envia a requisição
			$.ajax(params);
			//sempab.recepcao.renderRecepcao();
		},
		
	};
	window.sempab = sempab;
	sempab.recepcao.init();

});
